openapi: 3.0.0 info: title: RealityHub REST API version: 2.1.0 servers: - url: http://127.0.0.1 security: - ApiKeyAuth: [] tags: - name: Engine Control - name: Graph Control description: Reality Engine 5 - name: Projects Control - name: Launcher Control - name: Lino Rundown Control - name: Batch Requests components: schemas: Graph: type: object properties: id: type: integer name: type: string required: - id - name GraphLong: type: object properties: id: type: integer name: type: string content: type: string required: - id - name - content example: id: 1 name: test graph content: |- { "id": "084fb56c-494c-4c94-81ac-f35be72b... } Rgraph: type: object properties: id: type: integer name: type: string required: - id - name RgraphLong: type: object properties: id: type: integer name: type: string xmlContent: type: string required: - id - name - xmlContent example: id: 1 name: test rgraph xmlContent: "\r\n" Error: type: object properties: error: type: string required: - error EngineHostId: type: object properties: engineHostId: type: number required: - engineHostId example: engineHostId: 1 Instance: type: object properties: id: type: integer projectTag: type: string maxLength: 32 nullable: true streaming: type: string maxLength: 255 nullable: true status: type: string enum: - Idle - Caching - Loading - Loaded - Error - Checking description: 'Enum: [''Idle'', ''Caching'', ''Loading'', ''Loaded'', ''Error'', ''Checking'']' pid: type: integer nullable: true engineHostId: type: integer engineRoleId: type: integer nullable: true projectId: type: integer nullable: true projectMapId: type: integer nullable: true editorPath: type: string engineType: type: string enum: - RE - RE5 - UE description: 'Enum: [''RE'', ''RE5'', ''UE'']' engineVersion: type: string statusDescription: type: string nullable: true required: - id - projectTag - streaming - status - pid - engineHostId - engineRoleId - projectId - projectMapId - editorPath - engineType - engineVersion - statusDescription Engine: type: object properties: id: type: integer name: type: string ip: type: string format: ipv4 role: type: string enum: - Broadcast - Preview description: 'Enum: [''Broadcast'', ''Preview'']' status: type: string enum: - connected - ready - disconnected - reconnecting description: 'Enum: [''connected'', ''ready'', ''disconnected'', ''reconnecting'']' cacheDir: type: string minimumFreeSpace: type: integer usedSpace: type: integer diskSpace: type: integer displayName: type: string re_enabled: type: boolean port: type: integer format: port rgraphId: type: integer nullable: true ownerStudioId: type: integer nullable: true ustateId: type: integer nullable: true ue_enabled: type: boolean instances: type: array items: $ref: '#/components/schemas/Instance' required: - id - name - ip - role - status - cacheDir - minimumFreeSpace - usedSpace - diskSpace - displayName - re_enabled - port - rgraphId - ownerStudioId - ustateId - ue_enabled - instances NodeShort: type: object properties: NodePath: type: string NodeName: type: string required: - NodePath - NodeName Property: type: object properties: PropertyPath: type: string DisplayName: type: string Value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - PropertyPath - DisplayName - Value PropertyUpdate: type: object properties: Interpolation: type: string enum: - Constant - Linear - EaseIn - EaseOut - EaseInOut description: 'Enum: [''Constant'', ''Linear'', ''EaseIn'', ''EaseOut'', ''EaseInOut'']' default: Constant Duration: type: number default: 0 description: >- The duration of the interpolation in seconds. Must be a positive number. Delay: type: number default: 0 description: >- The delay of the interpolation in seconds. Must be a positive number. Value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - Value FunctionShort: type: object properties: FunctionPath: type: string FunctionName: type: string required: - FunctionPath - FunctionName FunctionLong: type: object properties: FunctionPath: type: string FunctionName: type: string Properties: type: object additionalProperties: $ref: '#/components/schemas/Property' required: - FunctionPath - FunctionName - Properties FunctionTriggerRequestParameter: type: object properties: PropertyPath: type: string payload: type: object properties: value: anyOf: - type: boolean - type: number - type: integer - type: object - type: array items: {} - type: string required: - value required: - PropertyPath - payload FunctionTriggerRequest: type: object properties: Parameters: type: array items: $ref: '#/components/schemas/FunctionTriggerRequestParameter' ServerSuccessResponse: type: object properties: success: type: boolean required: - success example: success: true PlayoutRundown: type: object properties: id: type: integer name: type: string required: - id - name Project: type: object properties: projectId: type: integer format: int32 example: 10 name: type: string example: RE Test version: type: string maxLength: 20 example: '4.27' sharedFolderName: type: string maxLength: 100 example: projects maps: type: array items: type: string example: - Main - Advanced_Lighting - Minimal_Default createdAt: type: integer example: 76213541238 updatedAt: type: integer example: 76213541238 required: - projectId - version - sharedFolderName - maps - createdAt - updatedAt LaunchConfig: type: object properties: id: type: integer example: 44 name: type: string example: Studio 44 renderers: type: array items: type: integer example: - 2 - 4 LaunchConfigCreateRequestBody: type: object properties: name: type: string example: Launch config 1 renderers: type: array items: type: integer example: - 2 - 4 required: - name - renderers LaunchConfigCreateResponse: type: object properties: id: type: integer example: 15 renderers: type: array items: type: integer example: - 11 - 12 required: - id - renderers RedenererDetails: type: object properties: launchConfigId: type: integer example: 11 engineId: type: integer nullable: true example: 1 projectId: type: integer nullable: true example: 4 projectMapId: type: integer nullable: true example: 14 engineType: type: string enum: - RE - RE5 - UE description: 'Enum: [''RE'', ''RE5'', ''UE'']' example: RE5 stateId: type: integer description: >- For RE it will be assumed as rgraph id, for ue ustate and for re5 graph id example: 1 LinoRundownEngineDevice: type: object properties: id: type: integer example: 1 profileId: type: integer example: 2 LinoRundownEngineRenderer: type: object properties: id: type: integer example: 1 pollLevelsEnabled: type: boolean example: true rundownServerPort: type: integer example: 30030 remoteControlPort: type: integer example: 30020 devices: type: array items: $ref: '#/components/schemas/LinoRundownEngineDevice' LinoRundownEngine: type: object properties: id: type: integer example: 1 name: type: string example: Engine 1 started: type: boolean example: true loadedRundownInfo: type: array items: type: object properties: id: type: integer example: 102 engines: type: array items: $ref: '#/components/schemas/LinoRundownEngineRenderer' required: - id - name LinoRundownItem: type: object properties: id: type: integer itemNo: type: integer name: type: string template: type: string templateId: type: integer itemType: type: string enum: - vs - md description: >- The type of the rundown item. 'vs' for Nodos/VS items, 'md' for Motion Design items. data: type: object buttons: type: object status: type: object properties: preview: type: string enum: - Available - Playing - Unavailable description: The preview status of the item program: type: string enum: - Available - Playing - Unavailable description: The program status of the item activeIn: type: array items: type: string enum: - preview - program description: >- Array indicating which channels the item is active in. Only present when item is active (preview or program is Playing). online: type: boolean description: Whether the item is online (loaded and ready) on any engine host required: - preview - program - online required: - id - name - templateId - itemType - data - status LinoRundownItemCreateBody: type: object properties: name: type: string templateId: type: integer insertAfter: type: integer data: type: object required: - name - templateId - data LinoTemplate: type: object properties: templateId: type: integer name: type: string data: type: object example: StateName 1: STATE NAME StateVotesPercentage 2: 100 GFX01_Name 3: NAME GFX01_VotesCount 4: 000,000 required: - templateId - name - data Show: type: object properties: id: type: integer example: 1 name: type: string example: My Show channels: type: array items: $ref: '#/components/schemas/Channel' running: type: boolean example: false linoeditingmode: type: boolean example: false required: - id - name - channels - running - linoeditingmode Channel: type: object properties: id: type: integer example: 1 name: type: string example: My Channel project: type: object nullable: true properties: id: type: integer example: 1 name: type: string example: My Project engines: type: array items: $ref: '#/components/schemas/EngineInChannel' required: - id - name - project - engines EngineInChannel: type: object properties: id: type: integer example: 1 hostname: type: string example: ZDHQ-IERD displayName: type: string example: Local Engine role: type: string example: Program order: type: integer example: 1 required: - id - hostname - displayName - role - order ShowCreateRequest: type: object properties: name: type: string example: My New Show boothId: type: integer example: 1 description: Booth ID (ignored, always uses 1) required: - name ShowCreateResponse: type: object properties: success: type: boolean example: true show: type: object properties: id: type: integer example: 1 name: type: string example: My New Show running: type: boolean example: false offlineMode: type: boolean example: false order: type: integer example: 1 boothId: type: integer example: 1 created_at: type: string format: date-time updated_at: type: string format: date-time message: type: string example: Show "My New Show" created successfully required: - success - show - message ErrorResponse: type: object properties: success: type: boolean example: false message: type: string example: Error message error: type: string example: Detailed error information required: - success - message BatchRequest: type: object required: - id - url - verb properties: id: oneOf: - type: integer - type: string url: type: string verb: type: string enum: - GET - PATCH - PUT - POST body: type: object description: POST request body payload additionalProperties: true example: id: 1 url: /playout/rundowns verb: GET BatchResponse: type: object required: - id properties: id: oneOf: - type: integer - type: string responseCode: type: integer responseMessage: type: string responseBody: type: object additionalProperties: true example: id: 1 responseCode: 200 responseBody: - id: 20 name: rt template template: rt Position data: mzproperty1: x: 0 'y': 0 z: 0 AuthenticationRequiredError: type: object properties: error: type: string example: Authentication required message: type: string example: >- REST API access requires API key authentication. Please provide a valid API key. code: type: string example: AUTHENTICATION_REQUIRED suggestion: type: string example: >- Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key= as query parameter. required: - error - message - code InvalidApiKeyError: type: object properties: error: type: string example: Invalid API key message: type: string example: The provided API key is invalid. code: type: string example: INVALID_API_KEY required: - error - message - code securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: > API Key authentication for REST API access. Generate an API key from User Management in the web interface. Include the API key in the X-API-Key header or as api_key query parameter. responses: Unauthorized: description: > Unauthorized. Either no API key was provided, or the provided API key is invalid. content: application/json: schema: oneOf: - $ref: '#/components/schemas/AuthenticationRequiredError' - $ref: '#/components/schemas/InvalidApiKeyError' examples: authenticationRequired: summary: Authentication required value: error: Authentication required message: >- REST API access requires API key authentication. Please provide a valid API key. code: AUTHENTICATION_REQUIRED suggestion: >- Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key= as query parameter. invalidApiKey: summary: Invalid API key value: error: Invalid API key message: The provided API key is invalid. code: INVALID_API_KEY InvalidApiKey: description: > Invalid API key provided. The API key was provided but is invalid, expired, or does not exist in the system. content: application/json: schema: type: object properties: error: type: string example: Invalid API key message: type: string example: The provided API key is invalid. code: type: string example: INVALID_API_KEY Forbidden: description: > Access denied. The API key is valid but does not have permission to access the requested resource. The authenticated API key lacks the required module permissions for this endpoint. content: application/json: schema: type: object properties: error: type: string example: Access denied message: type: string example: >- API key 'MyAPIKey' does not have permission to access the module required for this endpoint. Please contact your administrator to request access. code: type: string example: INSUFFICIENT_PERMISSIONS requiredModuleResource: type: string example: a.hub.timeline.nodegraph apiKeyName: type: string example: MyAPIKey InternalServerError: description: > Internal server error occurred during authentication or request processing. content: application/json: schema: type: object properties: error: type: string example: Authentication error message: type: string example: Failed to validate API key. code: type: string example: AUTH_ERROR paths: /api/rest/v1/engines: get: tags: - Engine Control summary: Get Engines responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Engine' example: - id: 1 name: ZDHQ-MBAK2 ip: 127.0.0.1 role: Broadcast status: connected cacheDir: c:\cache minimumFreeSpace: 209715200 usedSpace: 245037633536 diskSpace: 255382777856 displayName: Local Engine re_enabled: true port: 6666 rgraphId: null ownerStudioId: null ustateId: null ue_enabled: true instances: - id: 1 projectTag: null streaming: null status: Idle pid: null engineHostId: 1 engineRoleId: null projectId: null projectMapId: null editorPath: >- C:\Program Files\Zero Density\Reality\4.26\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.26' statusDescription: null - id: 2 name: ZDHQ-HUB ip: 172.16.0.59 role: Broadcast status: connected cacheDir: c:\cache minimumFreeSpace: 209715200 usedSpace: 198288896000 diskSpace: 239379410944 displayName: ZDHQ-HUB re_enabled: true port: 6666 rgraphId: 13 ownerStudioId: 1 ustateId: null ue_enabled: true instances: - id: 2 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: >- C:\Program Files\Zero Density\Reality\4.26\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.26' statusDescription: null - id: 4 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: >- C:\Program Files\Zero Density\Reality\4.27\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.27' statusDescription: null - id: 3 projectTag: null streaming: null status: Loaded pid: '4488' engineHostId: 2 engineRoleId: 1 projectId: 41 projectMapId: 194 editorPath: >- C:\Program Files\Zero Density\Reality\4.25\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.25' statusDescription: null engineType: RE '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}: get: tags: - Engine Control summary: Get a Single Engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Engine' example: id: 2 name: ZDHQ-HUB ip: 172.16.0.59 role: Broadcast status: connected cacheDir: c:\cache minimumFreeSpace: 209715200 usedSpace: 198289190912 diskSpace: 239379410944 displayName: ZDHQ-HUB re_enabled: true port: 6666 rgraphId: 13 ownerStudioId: 1 ustateId: null ue_enabled: true instances: - id: 2 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: >- C:\Program Files\Zero Density\Reality\4.26\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.26' statusDescription: null - id: 4 projectTag: null streaming: null status: Idle pid: null engineHostId: 2 engineRoleId: 1 projectId: null projectMapId: null editorPath: >- C:\Program Files\Zero Density\Reality\4.27\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.27' statusDescription: null - id: 3 projectTag: null streaming: null status: Loaded pid: '4488' engineHostId: 2 engineRoleId: 1 projectId: 41 projectMapId: 194 editorPath: >- C:\Program Files\Zero Density\Reality\4.25\Engine\Binaries\Win64\UE4Editor.exe engineType: RE engineVersion: '4.25' statusDescription: null engineType: RE '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}/nodes: get: tags: - Engine Control summary: Get Nodes of an Engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/NodeShort' example: - NodePath: f0f8ae55-fe2e-482b-ac69-1febb1b52a0c NodeName: U32ToString - NodePath: 15f34237-9fa1-405c-89e6-4eacade51456 NodeName: Cyclorama - NodePath: 0168d90c-571b-471e-8519-3d6eed8bbe9c NodeName: AJAOut '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}/nodes/{nodePath}: get: tags: - Engine Control summary: Get a Single Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NodeShort' example: NodePath: 15f34237-9fa1-405c-89e6-4eacade51456 NodeName: Cyclorama '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties: get: tags: - Engine Control summary: Get Properties of a Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Property' example: - PropertyPath: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 DisplayName: CycloramaColor Value: x: 0.5 'y': 1 z: 0 w: 1 - PropertyPath: 2a14a32e-e296-4ec7-b065-c71c33eee54b DisplayName: MaskColor Value: x: 1 'y': 0 z: 0 w: 1 - PropertyPath: 5715a460-8aca-4562-a92f-2713b004c53e DisplayName: Wireframe Value: false - PropertyPath: 898ee690-9505-443d-ae51-c85a8f85d3bd DisplayName: HasLeftWing Value: true - PropertyPath: 73336226-2538-4a25-8d8e-bb7457a6ace9 DisplayName: LeftWingAngle Value: 90 - PropertyPath: 13fd35a4-653c-47af-b1ef-53534cea542a DisplayName: LeftWingLength Value: 200 - PropertyPath: 68b96c3a-e961-4d97-b245-c8a36f9a9733 DisplayName: HasRightWing Value: true - PropertyPath: 3a8aff48-1228-4ab7-a88d-2d95eeec11c6 DisplayName: RightWingAngle Value: 90 - PropertyPath: e9db7fee-8ca4-4b57-98d3-3aca16a69ce2 DisplayName: RightWingLength Value: 200 - PropertyPath: 6df387ac-ae0f-490b-b6c0-c4300389740f DisplayName: Width Value: 200 - PropertyPath: fe966973-5463-4711-98f1-308b161da3e6 DisplayName: Height Value: 200 - PropertyPath: e49f01d1-4009-4f3a-ac07-61cb298cc96d DisplayName: EdgeRoundness Value: 30 - PropertyPath: eb4c59c0-1ba5-46b8-865c-547ea006d69f DisplayName: SharpEdges Value: false - PropertyPath: 4c55bc12-45e2-43bc-9263-f93d612adab1 DisplayName: BottomSmoothness Value: 0 - PropertyPath: ea34b860-af8f-4aac-941d-c117556b548b DisplayName: LeftSmoothness Value: 0 - PropertyPath: f13cf328-ce07-49d2-accf-c3db8db5a22e DisplayName: RightSmoothness Value: 0 - PropertyPath: ddbd4537-2990-4375-aa06-f66ad00f8bab DisplayName: TopSmoothness Value: 0 - PropertyPath: e954b954-2167-440d-8b3f-38ce532aab15 DisplayName: BottomCrop Value: 0 - PropertyPath: 8e665964-80b4-4436-9f40-ce80aed8779c DisplayName: LeftCrop Value: 0 - PropertyPath: 83a2b8ef-b0c7-4771-b5de-bf69205f4b6f DisplayName: RightCrop Value: 0 - PropertyPath: e553a34f-5fd9-4c37-aa5b-7713408524b5 DisplayName: TopCrop Value: 0 - PropertyPath: 7f975515-004f-4915-a1b3-e01e8c1cebb6 DisplayName: DiagonalCrop Value: 0 - PropertyPath: e4697081-ecd9-4d80-bf46-bcd64545c9ca DisplayName: DiagonalSmoothness Value: 0 - PropertyPath: 7df9049b-262e-4191-b85a-161c48e0ddfa DisplayName: SmoothnessCurve Value: 1 - PropertyPath: 578aa1d7-5225-4b2f-8703-99cec26c2105 DisplayName: OriginPreset Value: 0 - PropertyPath: a3f6bf88-782c-431f-8249-3ab03322bbff DisplayName: Position Value: x: 0 'y': 0 z: 0 - PropertyPath: 7de78c08-1896-43f3-9168-ce2781a7a387 DisplayName: Rotation Value: x: 0 'y': 0 z: 0 - PropertyPath: fa648c93-f9f6-4010-92e6-f6f2f28a7eaa DisplayName: Track Value: location: x: 600 'y': 50 z: 100 rotation: x: 0 'y': 0 z: 180 fov: 74 focus: 0 centerShift: x: 0 'y': 0 zoom: 0 k1k2: x: 0 'y': 0 renderRatio: 1 distortionScale: 1 sensorSize: x: 9.59 'y': 5.394 pixelAspectRatio: 1 nodalOffset: 0 focusDistance: 0 - PropertyPath: 57edb85f-b65b-4a69-9e12-d9050d045538 DisplayName: Render Value: handle: '2298947338016' pid: '46696' memory: '2224' offset: '5242880' type: 2 size: 0 width: 1920 height: 1080 format: 97 usage: 31 filtering: 0 unscaled: false unmanaged: false fieldType: 3 - PropertyPath: d6e3f431-c4e2-4a25-b50b-9aab4dbad877 DisplayName: Mask Value: handle: '2298947338656' pid: '46696' memory: '2224' offset: '22937600' type: 2 size: 0 width: 1920 height: 1080 format: 97 usage: 31 filtering: 0 unscaled: false unmanaged: false fieldType: 3 - PropertyPath: c290097d-5f1c-443c-8bcf-9d827e6b003d DisplayName: Video Value: handle: '2298945412432' pid: '46696' memory: '2224' offset: '40632320' type: 2 size: 0 width: 1920 height: 1080 format: 97 usage: 6 filtering: 1 unscaled: false unmanaged: false fieldType: 3 - PropertyPath: d57f1dc8-ad40-4f7a-9c7b-7a6fcba5fe8c DisplayName: CleanPlates Value: data: [] - PropertyPath: 9f7d2705-1b74-4cc7-a864-7517a4c6cc38 DisplayName: CaptureFolder Value: R:/Reality/Assets/CleanPlates/ '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}/nodes/{nodePath}/properties/{propertyPath}: get: tags: - Engine Control summary: Get a Single Property parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 - name: propertyPath in: path schema: type: string required: true description: The path of the property. (The ID of the pin if the engine is RE5) example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Property' example: PropertyPath: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 DisplayName: CycloramaColor Value: x: 0.5 'y': 1 z: 0 w: 1 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' patch: tags: - Engine Control summary: Update a Property's Value requestBody: content: application/json: schema: $ref: '#/components/schemas/PropertyUpdate' example: Value: x: 0.2 'y': 0.3 z: 0.4 w: 0.5 parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 15f34237-9fa1-405c-89e6-4eacade51456 - name: propertyPath in: path schema: type: string required: true description: >- The path of the property. (The ID of the pin if the engine is RE5) Reality Engine 5 (1.1) supports partial pin update. In order to perform a partial update you need to construct the property path accordingly. Assume we have a mat4 pin and want to update the 'z' attribute of mat4's 'w' field. Then the property path should be ".w.z" The path bits should be delimited by a dot (.) and should be append to the original property path (after a dot). example: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Property' example: PropertyPath: 5ec1e795-f3c2-4834-b84b-d97cdd7f3464 DisplayName: CycloramaColor Value: x: 0.20000000298023224 'y': 0.30000001192092896 z: 0.4000000059604645 w: 0.5 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions: get: tags: - Engine Control summary: Get Functions of a Node parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/FunctionShort' example: - FunctionPath: d6f7914f-94d2-4a76-8874-f58399b83c8c FunctionName: Sample_Func '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/engines/{engineId}/nodes/{nodePath}/functions/{functionPath}: get: tags: - Engine Control summary: Get a Single Function parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b - name: functionPath in: path schema: type: string required: true description: >- The path of the function. (The ID of the function if the engine is RE5) example: d6f7914f-94d2-4a76-8874-f58399b83c8c responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FunctionLong' example: FunctionPath: d6f7914f-94d2-4a76-8874-f58399b83c8c FunctionName: Sample_Func Properties: d405ae7e-04f0-41ad-bcf5-6a0c03041b97: PropertyPath: d405ae7e-04f0-41ad-bcf5-6a0c03041b97 DisplayName: A Value: 5 2d762d6c-7c25-4cfc-a22c-5d188a7463d5: PropertyPath: 2d762d6c-7c25-4cfc-a22c-5d188a7463d5 DisplayName: B Value: 4 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' post: tags: - Engine Control summary: Call a Node's Function requestBody: content: application/json: schema: $ref: '#/components/schemas/FunctionTriggerRequest' example: Parameters: - PropertyPath: d405ae7e-04f0-41ad-bcf5-6a0c03041b97 payload: value: 50 - PropertyPath: 2d762d6c-7c25-4cfc-a22c-5d188a7463d5 payload: value: 200 parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine. example: '3' - name: nodePath in: path schema: type: string required: true description: The path of the node. (The ID of the node if the engine is RE5) example: 6c1293aa-418d-440a-a3b0-fb47c5d8090b - name: functionPath in: path schema: type: string required: true description: >- The path of the function. (The ID of the function if the engine is RE5) example: d6f7914f-94d2-4a76-8874-f58399b83c8c responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServerSuccessResponse' '401': description: > Unauthorized. Either no API key was provided, or the provided API key is invalid. content: application/json: schema: oneOf: - $ref: '#/components/schemas/AuthenticationRequiredError' - $ref: '#/components/schemas/InvalidApiKeyError' examples: authenticationRequired: summary: Authentication required value: error: Authentication required message: >- REST API access requires API key authentication. Please provide a valid API key. code: AUTHENTICATION_REQUIRED suggestion: >- Generate an API key from User Management in the web interface and include it in the X-API-Key header. Or use ?api_key= as query parameter. invalidApiKey: summary: Invalid API key value: error: Invalid API key message: The provided API key is invalid. code: INVALID_API_KEY '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/graphs: get: summary: Get Graphs responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Graph' example: - id: 1 name: first graph - id: 2 name: secomd graph - id: 3 name: third graph '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Graph Control /api/rest/v1/graphs/{graphId}: get: summary: Get a Single Graph parameters: - name: graphId in: path schema: type: integer required: true description: The ID of the graph. example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GraphLong' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Graph not found. tags: - Graph Control /api/rest/v1/graphs/{graphId}/channels: get: summary: Get Graph Channels description: Returns the list of channels defined in the specified graph. parameters: - in: path name: graphId schema: type: integer required: true description: The ID of the graph. example: 1 responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: name: type: string category: type: string enum: - dynamic - viewport example: - name: Channel1 category: dynamic - name: Viewport1 category: viewport '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: error: graphId is required. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Graph not found. '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' example: error: graphId must be numeric. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' tags: - Graph Control /api/rest/v1/graphs/{graphId}/load: post: summary: Load a Graph parameters: - in: path name: graphId schema: type: integer required: true description: The ID of the graph. example: 1 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EngineHostId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServerSuccessResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Graph Control /api/rest/v1/projects: get: summary: List all projects responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' tags: - Projects Control /api/rest/v1/projects/{projectId}/channels: get: summary: Get Project Channels description: Returns the list of channels defined in the specified project. parameters: - in: path name: projectId schema: type: integer required: true description: The ID of the project. example: 1 responses: '200': description: OK content: application/json: schema: type: array items: type: object properties: name: type: string id: type: string example: - name: ProjectChannel1 id: ch-001 - name: ProjectChannel2 id: ch-002 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: error: projectId is required. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Project not found. '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' example: error: projectId must be numeric. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' tags: - Projects Control /api/rest/v1/launcher/shows/{showId}/engines/{rendererId}/channels: get: tags: - Launcher Control summary: Get Engine Channels description: >- Returns the list of channels for a specific engine/renderer within a show. Includes nodos, project, dynamic/graph, and viewport channels grouped by category. parameters: - in: path name: showId schema: type: integer required: true description: The ID of the show. example: 1 - in: path name: rendererId schema: type: integer required: true description: The ID of the renderer/engine. example: 1 responses: '200': description: OK content: application/json: schema: type: object properties: nodos: type: array items: type: object properties: name: type: string source: type: string enum: - static - live project: type: array items: type: object properties: name: type: string source: type: string enum: - static - live dynamic: type: array description: Present when show is running items: type: object properties: name: type: string category: type: string source: type: string enum: - static - live graph: type: array description: Present when show is not running items: type: object properties: name: type: string category: type: string source: type: string enum: - static - live viewport: type: array items: type: object properties: name: type: string category: type: string source: type: string enum: - static - live example: nodos: - name: NodosChannel1 source: static project: - name: ProjectChannel1 source: static dynamic: - name: DynamicChannel1 category: dynamic source: live viewport: - name: Viewport1 category: viewport source: live '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: error: showId and rendererId are required. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Renderer not found. '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' example: error: showId and rendererId must be numeric. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/launcher: get: tags: - Launcher Control summary: List all shows description: Get all shows with their channels and engines responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Show' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/rest/v1/launcher/{showId}: get: tags: - Launcher Control summary: Get specific show description: >- Get detailed information for a specific show including channels and engines parameters: - in: path name: showId schema: type: integer required: true description: Show ID to retrieve example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Show' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Show not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid show ID content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/rest/v1/launcher/{showId}/launch: put: tags: - Launcher Control summary: Start show description: Start a show with validation for project assignments parameters: - in: path name: showId schema: type: integer required: true description: Show ID to start example: 1 responses: '200': description: Show started successfully content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show started successfully '207': description: Show started with warnings content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show started with warnings warnings: type: array items: type: string '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Show not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid show ID or channels without projects content: application/json: schema: type: object properties: success: type: boolean example: false message: type: string example: >- Show "My Show" cannot be started. The following channels do not have projects assigned: Channel 1, Channel 2 details: type: object properties: showId: type: integer example: 1 showName: type: string example: My Show channelsWithoutProjects: type: array items: type: object properties: id: type: integer example: 1 name: type: string example: Channel 1 '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/rest/v1/launcher/{showId}/stop: put: tags: - Launcher Control summary: Stop show description: Stop a running show parameters: - in: path name: showId schema: type: integer required: true description: Show ID to stop example: 1 responses: '200': description: Show stopped successfully content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show stopped successfully '207': description: Show stopped with warnings content: application/json: schema: type: object properties: success: type: boolean example: true message: type: string example: Show stopped with warnings warnings: type: array items: type: string '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Show not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid show ID or show already stopped content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/rest/v1/lino/engines: get: tags: - Lino Rundown Control description: Get list of Lino rundown engines responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/LinoRundownEngine' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/engines/{engineId}: get: tags: - Lino Rundown Control description: Get a Single Lino rundown engine parameters: - name: engineId in: path schema: type: integer required: true description: The ID of the engine example: 2 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LinoRundownEngine' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Rundown Engine not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundowns: get: tags: - Lino Rundown Control summary: List all Lino rundowns description: >- Get list of all Lino rundowns across all engines. This endpoint returns all available rundowns in the Lino system. responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlayoutRundown' example: - id: 1 name: News Rundown - id: 2 name: Sports Rundown '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{rundownId}: get: tags: - Lino Rundown Control summary: Get a single Lino rundown description: >- Get details of a specific Lino rundown by its ID. This endpoint returns information about a single rundown. parameters: - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundown' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Rundown not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundowns/{engineId}: get: tags: - Lino Rundown Control summary: Get Rundowns by Engine description: >- Get list of rundowns for a specific engine. If engineId is not provided, returns all rundowns. parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlayoutRundown' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/templates: get: tags: - Lino Rundown Control description: Get rundown templates responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/LinoTemplate' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/items/: get: tags: - Lino Rundown Control description: Get rundown items parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/LinoRundownItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: >- Cannot get rundown engine for rundownEngineId: 4, action: loadRundown, please check the server logs for details. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' post: tags: - Lino Rundown Control description: Add rundown item requestBody: description: Item parameters content: application/json: schema: $ref: '#/components/schemas/LinoRundownItemCreateBody' parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 responses: '201': description: OK headers: location: schema: type: string content: application/json: schema: $ref: '#/components/schemas/LinoRundownItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: >- Cannot get rundown engine for rundownEngineId: 4, action: loadRundown, please check the server logs for details. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/items/{itemId}: patch: tags: - Lino Rundown Control description: Update rundown item data parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 72 requestBody: description: Item parameters content: application/json: schema: $ref: '#/components/schemas/LinoRundownItemCreateBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LinoRundownItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' delete: tags: - Lino Rundown Control description: Update rundown item data parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 72 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/items/{itemId}/buttons: get: tags: - Lino Rundown Control description: Get rundown item buttons summary: Get Rundown Item Buttons parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 77 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 110 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 784 responses: '200': description: OK content: application/json: schema: type: object additionalProperties: type: string description: >- Object where keys are button labels (e.g., "Load Files", "Play", "DoTransition") and values are empty strings example: Load Files: '' Play: '' Next: '' Previous: '' Pause: '' Rewind: '' DoTransition: '' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/items/{itemId}/buttons/{buttonKey}: post: tags: - Lino Rundown Control description: >- Trigger a button action on a rundown item (e.g., "Load Files", "Play", "DoTransition") summary: Trigger Rundown Item Button parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 77 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 110 - in: path name: itemId description: The ID of the item. required: true schema: type: integer example: 784 - in: path name: buttonKey description: >- The key of the button to trigger. This should match one of the keys from the buttons object returned in the rundown items response (e.g., "Load Files", "Play", "DoTransition"). required: true schema: type: string example: DoTransition responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Item not found in the specified rundown '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}: delete: tags: - Lino Rundown Control description: Delete rundown parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 2 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Rundown not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' post: tags: - Lino Rundown Control description: Create rundown item parameters: - in: path name: engineId description: The ID of the engine. required: true schema: type: integer example: 1 - in: path name: rundownId description: The ID of the rundown. required: true schema: type: integer example: 1 requestBody: description: Item description content: application/json: schema: $ref: '#/components/schemas/LinoRundownItemCreateBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LinoRundownItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: >- Cannot get rundown engine for rundownEngineId: 4, action: loadRundown, please check the server logs for details. '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/load: put: tags: - Lino Rundown Control description: Load rundown parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 2 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PlayoutRundown' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Rundown not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/append/{newRundownId}: put: tags: - Lino Rundown Control description: Append rundown parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 2 - in: path name: newRundownId description: The ID of the new rundown required: true schema: type: integer example: 3 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Rundown not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/{rundownId}/unload: put: tags: - Lino Rundown Control description: Unload rundown parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: rundownId description: The ID of the rundown required: true schema: type: integer example: 2 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/play/{itemId}/{preview}: put: tags: - Lino Rundown Control description: Play rundown item parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: itemId description: The ID of the item required: true schema: type: integer example: 88 - in: path name: preview description: >- Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation. required: true schema: type: integer enum: - 0 - 1 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/playnext/{preview}: put: tags: - Lino Rundown Control description: Playnext rundown item parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: preview description: >- Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation. required: true schema: type: integer enum: - 0 - 1 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/continue/{itemId}/{preview}: put: tags: - Lino Rundown Control description: Continue play rundown item parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: itemId description: The ID of the item required: true schema: type: integer example: 88 - in: path name: preview description: >- Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation. required: true schema: type: integer enum: - 0 - 1 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/out/{itemId}/{preview}: put: tags: - Lino Rundown Control description: Out rundown item parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: itemId description: The ID of the item required: true schema: type: integer example: 88 - in: path name: preview description: >- Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to play on the main program output that goes on air. Use 1 to play on the preview output for preparation. required: true schema: type: integer enum: - 0 - 1 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/lino/rundown/{engineId}/clear/{preview}: put: tags: - Lino Rundown Control summary: Clear Output description: Clears the output channel (program or preview). parameters: - in: path name: engineId description: The ID of the engine required: true schema: type: integer example: 4 - in: path name: preview description: >- Output channel: 0 = program (main output/on-air), 1 = preview (preview output/off-air). Use 0 to clear the main program output. Use 1 to clear the preview output. required: true schema: type: integer enum: - 0 - 1 responses: '200': description: OK content: text/plain: schema: type: string example: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found content: text/plain: schema: type: string example: Not found '500': description: Internal Server Error content: text/plain: schema: type: string example: '500: Internal server error' /api/rest/v1/batch: put: tags: - Batch Requests description: Multiple request in single call requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/BatchRequest' responses: '200': description: array of responses content: application/json: schema: type: array items: $ref: '#/components/schemas/BatchResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden'